#ifndef FHE_CORE_IFUNCDESC_H
#define FHE_CORE_IFUNCDESC_H

#include <fhe/core/IFunc.h>

namespace fhe
{
  namespace core
  {
    class Node;
    
    class IFuncDesc : public boost::noncopyable
    {
    public:
      typedef boost::shared_ptr< IFuncDesc > Ptr;
      virtual IFunc::Ptr build( Node* node ) const = 0;
      virtual std::string name() const = 0;
    };
  }
}

#endif
